This invention relates generally to the field of demodulating discrete multitone modulated signals, and in particular to estimating timing error in samples taken of a received discrete multitone modulated (DMT) signal.
An almost universal goal of communications systems is to transfer information from one location to another. In many cases, the information takes the form of digital data, which is typically used to modulate a carrier to facilitate transmission.
For example, the Internet is made up of interconnected repositories of data stored all over the world. The repositories transmit the data to the computers of requesting users, where the data is displayed or used in some other way.
In an oil well drilling application, which is of particular interest to the assignee of this patent application, data regarding surrounding earth formations may be collected by wireline instruments or logging-while-drilling instruments. The instruments may analyze the collected data and transmit the collected data and the results of the analysis to the surface where further analysis is performed.
Discrete multi-tone modulation (xe2x80x9cDMTxe2x80x9d) is a popular technique for modulating a carrier with digital information. DMT employs a group of carriers, each of which carries a portion of the data to be transferred. Each carrier is digitally modulated with its portion of the data, using, for example, Quadrature Phase Shift Keying (QPSK) or Quadrature Amplitude Modulation (QAM), and is then transmitted over a communications medium, such as a cable or an optical medium.
QPSK represents a digital symbol, i.e. group of bits to be transmitted, by phase shifting a carrier a different amount for each symbol. For example, in 8-QPSK the modulator can apply eight different phase shifts to the carrier to represent eight different three-bit symbols. QAM represents a digital symbol by applying different phase shifts and amplitude adjustments for each symbol. For example, in 256-QAM the modulator can apply 256 different combinations of phase shifts and amplitude adjustments to represent 256 different eight bit symbols. If 256 carriers are modulated using 256-QAM, a total of 256 eight bit symbols can be transmitted at the same time.
One step in demodulating a DMT signal is to sample the DMT signal, which is made up of a number of modulated carriers, at a sampling rate sufficient to preserve the information in the signal. The sampled signal is typically digitized and transformed into the frequency domain where it can be processed to recover the data that was used to create the DMT signal. One step in the processing, known as xe2x80x9cslicing,xe2x80x9d attempts to correlate a sample with one of the possible phase modulations, in the case of QPSK, or amplitude and phase modulations, in the case of QAM.
Errors in sample timing may put all of the received data out of phase in the frequency domain. These phase errors may cause errors in the data because, as discussed above, the modulation techniques used in DMT convey information in the phase of the carriers.
A variety of techniques have been devised to correct the phase error. One common technique is to use a pilot tone to estimate the phase error. Such a pilot tone is subject to other types of system noise which may render erroneous an estimate of phase error based on an analysis of the pilot tone.
A portion of the communication bandwidth being used to transmit the DMT signal may be allocated to allow transmission of multiple pilot tones in order to average out the effect of the pilot tone noise. Such a technique will decrease the noise with the square root of the number of pilot tones being used.
Another known technique uses the data being transmitted to estimate the phase error. This technique uses the data as a block to estimate the phase error. For example, the technique may slice the data, compute slicing errors, and use the block of computed slicing errors to estimate the phase error. It may then use the estimated phase error to correct the phase of all carriers and slice the data again. This is a computationally intense algorithm which may be sensitive to slicing errors.
From the foregoing it will be apparent that there is still a need for a way to estimate the sample timing error that is computationally efficient, accurate and robust against slicing errors, without the need to allocate communication channel capacity to one or more pilot tones.
The deficiencies in the prior art are solved in the present invention which, in a preferred embodiment, provides a method and apparatus for estimating sample timing error. The method is computationally efficient, requiring only a few arithmetic operations. It is accurate, because it uses successively more accurate estimates of sample timing error. It is robust against slicing errors because it rejects slicing errors in its computations. It avoids the need to allocate communication channel capacity to one or more pilot tones because it performs its function without the use of a pilot tone or using only one pilot tone.
In one aspect of the invention, samples are taken of a signal which includes two or more measured tones, each of which has a frequency, a phase, and a magnitude. Each measured tone represents a modulated carrier in the signal. Each carrier has an associated constellation of ideal tones each of which represents an ideal modulation of its associated carrier. Before the method begins, an initial average phase error estimate is established. In one embodiment, this is accomplished by computing the average phase error from a pilot tone. In another embodiment, the average phase error is initialized to zero.
The method involves performing the following processing on each of a subset of the measured tones in the signal. The method begins by selecting an unprocessed measured tone. Next, the method adjusts the phase of the selected measured tone using an average phase error. Then, the method estimates a phase error for the selected measured tone, which includes slicing the selected measured tone. Finally, the method updates the average phase error with the estimated phase error for that tone.
In a preferred embodiment, estimating the phase error for the selected measured tone includes: (1) slicing the selected measured tone to associate it with an ideal tone; (2) computing a slicing residual for the measured tone; (3) computing an estimated phase error for the selected measured tone using the slicing residual; and (4) normalizing the estimated phase error.
In a preferred embodiment, slicing the selected measured tone includes selecting one of the ideal tones associated with the carrier associated with the selected measured tone that best approximates the selected measured tone.
In a preferred embodiment, computing the slicing residual includes subtracting a phasor representing the measured tone from a phasor representing the selected ideal tone.
In a preferred embodiment, computing the estimated phase error for the selected measured tone includes using the following equation:       P    k    ≈            imag      ⁢              (                  ⟨                                    E              k                        ,                          V              k                                ⟩                )                    w      k      
where
Pk=phase error for measured tone k;
Ek=slicing residual for measured tone k (complex number);
Vk=ideal tone for measured tone k (complex number);
 less than Ek,Vk greater than =inner product of Ek and Vk;
imag(A)=imaginary part of A; and
wk=weighting factor for measured tone k.
In various embodiments the weighting factor wk can be: (1) the squared magnitude of the ideal tone, (2) the variance of the magnitudes of all of the ideal tones in the constellation associated with the carrier associated with the measured tone, or (3) the standard deviation of the magnitude of all of the ideal tones in the constellation associated with the carrier associated with the measured tone multiplied by the magnitude of the ideal tone. Other weighting factors can also be used.
In a preferred embodiment, normalizing the estimated phase error includes applying the following equation:       NP    k    =            P      k              s      k      
where
NPk=normalized estimated phase error for measured tone k; and
sk=normalization factor for measured tone k.
In the preferred embodiment, sk is chosen to normalize the phase error computed for measured tone k to the frequency of a reference tone. In another embodiment in which the measured tones are numbered from 1 to N, the frequency of each measured tone is the number of the measured tone multiplied by the frequency of tone 1 and sk is the number of tone k.
In a preferred embodiment, updating the average phase error includes applying the following equation:   PNA  =                              (                                    x              -              1                        x                    )                M            ·              NP        0              +                  ∑                  k          =          1                M            ⁢                                                  (                              x                -                1                            )                                      M              -              k                                            x                          M              +              1              -              k                                      ·                  NP          k                    
where
PNA=average phase error;
x=a number greater than 1;
M=the number of carriers in the signal;
NP0=an initial value for PNA;
NPk=normalized phase error for tone k.
In one embodiment, updating the average phase error includes applying the following equation:   PNA  =            ∑              k        =        1            M        ⁢                  1        M            ·              NP        k            
where
PNA=average phase error;
M=number of tones in the signal that have been processed;
NPk=normalized phase error for tone k.
In one embodiment, an initial phase error PNA0 is computed from a pilot tone transmitted with the signal.
In one embodiment, the subset includes all measured tones which are associated with a carrier which has a signal-to-noise ratio greater than a signal-to-noise ratio threshold. In another embodiment, the subset includes all measured tones associated with a carrier that is carrying data. In still another embodiment, the subset includes all measured tones which are associated with carriers having a frequency greater than a minimum frequency.
In a preferred embodiment, selecting comprises selecting an unprocessed measured tone that has a lower frequency than any other unprocessed measured tone. In other embodiments, not all of the constellations of ideal tones include the same number of ideal tones and selecting comprises selecting an unprocessed measured tone associated with a carrier which is associated with a constellation of ideal tones having no more ideal tones than the constellation associated with any other unprocessed measured tone. In other embodiments, selecting comprises selecting an unprocessed measured tone that is no more susceptible to slicing error because of phase error than any other unprocessed measure tone.
In a preferred embodiment, estimating and updating are performed only if a magnitude of the slicing residual for the measured tone is less than a threshold.
In a preferred embodiment, the method includes computing an average sample timing error from the average phase error.
In one embodiment, computing the average timing error includes applying the following equation:       xe2x80x83    ⁢            average      ⁢              xe2x80x83            ⁢      sample      ⁢              xe2x80x83            ⁢      timing      ⁢              xe2x80x83            ⁢      error        =                  1                  2          ⁢          π                    ⁢              PNA        ·        T            
where:
PNA=average phase error; and
T=period of a single symbol, not including a cyclic prefix.
In another equivalent embodiment, computing the average timing error includes applying the following equation:       xe2x80x83    ⁢            average      ⁢              xe2x80x83            ⁢      sample      ⁢              xe2x80x83            ⁢      timing      ⁢              xe2x80x83            ⁢      error        =                  1                  R          ·          π                    ⁢              PNA        ·        M            
where:
PNA=average phase error;
M=number of carriers in the signal that have been processed;
R=sampling rate.
In one embodiment, the method includes using the average sample timing error to adjust the timing of the taking of the samples of the signal.